package com.douma.tree;



public class TreeTest {
    public static void main(String[] args) {
        TreeNode root = new TreeNode(10);
        TreeNode node1 = new TreeNode(8);
        TreeNode node2 = new TreeNode(9);

        root.left = node1;
        root.right = node2;

        TreeNode node3 = new TreeNode(23);
        TreeNode node4 = new TreeNode(11);

        node1.left = node3;
        node1.right = node4;

        TreeNode node5 = new TreeNode(7);
        node2.right = node5;

        new TreeTest().postOrder(root);

    }

    // 前序遍历
    private void preOrder(TreeNode root) {
        // 最小子问题
        if (root == null) return;
        // 遍历打印根节点
        System.out.println(root.val);
        // 遍历左子树
        preOrder(root.left);
        // 遍历右子树
        preOrder(root.right);
    }

    // 中序遍历
    private void inOrder(TreeNode root) {
        // 最小子问题
        if (root == null) return;
        // 遍历左子树
        inOrder(root.left);
        // 遍历打印根节点
        System.out.println(root.val);
        // 遍历右子树
        inOrder(root.right);
    }

    // 后序遍历
    private void postOrder(TreeNode root) {
        // 最小子问题
        if (root == null) return;
        // 遍历左子树
        postOrder(root.left);
        // 遍历右子树
        postOrder(root.right);
        // 遍历打印根节点
        System.out.println(root.val);
    }
}
